/**
 * 
 */
package be.gwi.alfresco.run.model;

import java.util.Date;

import org.alfresco.service.cmr.repository.NodeRef;

/**
 * Run bean - This class contains information about a run
 * 
 * @author gabriel.wilems@gmail.com
 * 
 * @version 1.0
 * @since 1.0
 */
public class Run {
    /**
     * The starting date of the first race
     */
    private NodeRef nodeRef;
    private Date    runDate;
    private Double  runDistance;
    private RunType runType;
    private String  runUrl;
    private Like    like;

    /*
     * Constructor without fields
     */
    public Run() {

    }

    /**
     * Constructor with fields
     * 
     * @param runDate
     * @param runDistance
     * @param runType
     * @param runUrl
     */
    public Run(Date runDate, Double runDistance, RunType runType, String runUrl) {
        super();
        this.runDate = runDate;
        this.runDistance = runDistance;
        this.runType = runType;
        this.runUrl = runUrl;
    }

    /*
     * (non-Javadoc)
     * 
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        return "Run [runDate=" + runDate + ", runDistance=" + runDistance + ", runType=" + runType + ", runUrl="
                + runUrl + "]";
    }

    /**
     * @return the nodeRef
     */
    public NodeRef getNodeRef() {
        return nodeRef;
    }

    /**
     * @param nodeRef
     *            the nodeRef to set
     */
    public void setNodeRef(NodeRef nodeRef) {
        this.nodeRef = nodeRef;
    }

    /**
     * @return the runDate
     */
    public Date getRunDate() {
        return runDate;
    }

    /**
     * @param runDate
     *            the runDate to set
     */
    public void setRunDate(Date runDate) {
        this.runDate = runDate;
    }

    /**
     * @return the runDistance
     */
    public Double getRunDistance() {
        return runDistance;
    }

    /**
     * @param runDistance
     *            the runDistance to set
     */
    public void setRunDistance(Double runDistance) {
        this.runDistance = runDistance;
    }

    /**
     * @return the runType
     */
    public RunType getRunType() {
        return runType;
    }

    /**
     * @param runType
     *            the runType to set
     */
    public void setRunType(RunType runType) {
        this.runType = runType;
    }

    /**
     * @return the runUrl
     */
    public String getRunUrl() {
        return runUrl;
    }

    /**
     * @param runUrl
     *            the runUrl to set
     */
    public void setRunUrl(String runUrl) {
        this.runUrl = runUrl;
    }

    /**
     * @return the like
     */
    public Like getLike() {
        return like;
    }

    /**
     * @param like the like to set
     */
    public void setLike(Like like) {
        this.like = like;
    }
}
